import React from 'react';
import { Navigate } from 'react-router-dom';
import { useAdminAuth } from '../contexts/AdminAuthContext';

/**
 * 管理员保护路由组件
 * 只允许已登录的管理员访问受保护的页面
 */
const AdminRoute = ({ children }) => {
  const { currentUser, loading } = useAdminAuth();

  // 如果正在加载中，可以返回一个加载状态的组件
  if (loading) {
    return <div>加载中...</div>;
  }

  // 如果用户未登录或不是管理员，重定向到管理员登录页面
  if (!currentUser) {
    return <Navigate to="/admin/login" replace />;
  }

  // 用户已登录且是管理员，渲染子组件
  return children;
};

export default AdminRoute;